wireshark基本使用教程

您所在的位置:网站首页 wireshark 使用方式 wireshark基本使用教程

wireshark基本使用教程

#wireshark基本使用教程| 来源: 网络整理| 查看: 265

文章目录1. 安装2. 使用技巧2.1. 捕获过滤器表达式2.2. 开始捕获2.3. 捕获结果2.3.1. 着色规则2.3.2. 数据包的大致结构2.3.3. 示例2.3.3.1. 三次握手2.3.3.2. 四次挥手2.3.3.3. tcp/ip数据包2.3.3.4. 使用实例

以wireshark 2.6.3 汉化版为例1. 安装除了路径是自定义之外,其它均默认即可。

2. 使用技巧1、点击每一行时,wireshark很智能的在记录前用标线表明了本次会话的记录范围[从三次握手到四次挥手]

å¨è¿éæå¥å¾çæè¿°2、http请求是“请求->响应”式的,需要查看对应请求的响应时,可以在包上右键,选择“追踪流(Follow TCP Stream)”

å¨è¿éæå¥å¾çæè¿°

å¨è¿éæå¥å¾çæè¿°

3、错误包的产生与解决办法:参考Wireshark抓包时显示TCP校验和错误(checksum incorrect)

  在Windows平台上用Ethereal抓包时发现TCP校验和错误,   但应用层的反应告诉我,这个报文的TCP校验和没问题。       A: 2000-03       网卡配置->高级->Rx Checksum Offload/Tx Checksum Offload,   很可能你的这两处设置是Enable,将之调整成Disable即可,代价是网络性能降低。       一般由操作系统的TCP/IP协议栈完成TCP/UDP/IP校验和的计算工作,   这两处设置成Enable之后,协议栈不再进行校验和的计算,而是由网卡自己完成。   如果在前述位置没有发现Rx Checksum Offload/Tx Checksum Offload项,   有两种可能,一种是网卡本身不支持这种功能,另一种是网卡驱动未提供配置项,后一种情形居多。

解决方法:

把网卡的属性修改一下就可以,禁用 Checksum Offload(原理是让网卡硬件自己计算校验和,而不是交给操作系统的 tcp/ip 协议栈来计算):

å¨è¿éæå¥å¾çæè¿°

2.1. 捕获过滤器表达式

这个主要还是需要多看输入的提示,我也是靠蒙写个简单的

  //表示只过滤主机10.6.161.15或者10.10.65.67的包   host 10.6.161.15 or host 10.10.65.67   //使用域名   host baidu.com

å¨è¿éæå¥å¾çæè¿°

 

  //表示只显示Source为10.6.161.15的   ip.src==10.6.161.15

2.2. 开始捕获

菜单“捕获-选项”,设置需要捕获的网络适配器,点击“开始”。也可以在菜单“捕获-开始”、“捕获-结束”来控制开始结束。在“捕获-捕获过滤器”编辑捕获表达式

å¨è¿éæå¥å¾çæè¿°

在上述“捕获”菜单中进行的操作,也可以在工具栏进行,如下图

2.3. 捕获结果

双击每一行记录,可在弹出窗口中查看详细记录

å¨è¿éæå¥å¾çæè¿°

2.3.1. 着色规则

在菜单“视图-着色规则”下查看

å¨è¿éæå¥å¾çæè¿°

2.3.2. 数据包的大致结构 第一行:数据包整体概述, 第二行:链路层详细信息,主要的是双方的mac地址 第三行:网络层详细信息,主要的是双方的IP地址 第四行:传输层的详细信息,主要的是双方的端口号。

å¨è¿éæå¥å¾çæè¿°

å¨è¿éæå¥å¾çæè¿°

2.3.3. 示例注:window查看本机ip、mac等,可在cmd下使用命令ipconfig/all

2.3.3.1. 三次握手客户端->服务器:发送标识为SYN=1、随机产生的客户端序号seq(发送序号)服务器->客户端:发送标识为SYN=1、ACK=1、第一步产生的客户端序号seq+1(确认序号)、随机产生的服务端序号seq客户端->服务器:第一步产生的客户端序号seq+1(发送序号)、第二步产生的服务端序号seq+1(确认序号)、ACK=1

 

 

三次数据包

其中[SYN]意为SYN位为1(如果没有,则表示为0)。同理如果[]中有ACK,表示ACK位为1

å¨è¿éæå¥å¾çæè¿°

客户端==》服务器

å¨è¿éæå¥å¾çæè¿°

服务器==》客户端

å¨è¿éæå¥å¾çæè¿°

客户端==》服务器

2.3.3.2. 四次挥手

摘抄自:TCP三次握手和四次挥手过程

假设Client端发起中断连接请求,也就是发送FIN报文。Server端接到FIN报文后,意思是说"我Client端没有数据要发给你了",但是如果你还有数据没有发送完成,则不必急着关闭Socket,可以继续发送数据。所以你先发送ACK,“告诉Client端,你的请求我收到了,但是我还没准备好,请继续你等我的消息”。这个时候Client端就进入FIN_WAIT状态,继续等待Server端的FIN报文。当Server端确定数据已发送完成,则向Client端发送FIN报文,“告诉Client端,好了,我这边数据发完了,准备好关闭连接了”。Client端收到FIN报文后,"就知道可以关闭连接了,但是他还是不相信网络,怕Server端不知道要关闭,所以发送ACK后进入TIME_WAIT状态,如果Server端没有收到ACK则可以重传。“,Server端收到ACK后,“就知道可以断开连接了”。Client端等待了2MSL后依然没有收到回复,则证明Server端已正常关闭,那好,我Client端也可以关闭连接了。Ok,TCP连接就这样关闭了!

å¨è¿éæå¥å¾çæè¿°

四次数据包

å¨è¿éæå¥å¾çæè¿°

数据含义同三次握手

2.3.3.3. tcp/ip数据包标志位对应的功能:

URG: 紧急指针( urgent pointer)有效。ACK: 确认序号有效。PSH: 接收方应该尽快将这个报文段交给应用层。RST: 重建连接。SYN: 同步序号用来发起一个连接。FIN: 发端完成发送任务。窗口大小:用于流量控制。检验和:检验和覆盖了整个的 TCP报文段: TCP首部和TCP数据,与udp相似需要计算伪首部。tcp数据包结构及在wireshark中的位置

å¨è¿éæå¥å¾çæè¿°

å¨è¿éæå¥å¾çæè¿°

ip数据包:(不画了,耐心已为负值)

å¨è¿éæå¥å¾çæè¿°

å¨è¿éæå¥å¾çæè¿°

2.3.3.4. 使用实例

抓取财政会计行业管理系统的一些示例

点击页面中的任意一个查询

å¨è¿éæå¥å¾çæè¿°

å¨è¿éæå¥å¾çæè¿°

如下,将包的内容和浏览器的内容对比一下

å¨è¿éæå¥å¾çæè¿°

å¨è¿éæå¥å¾çæè¿°

查看响应包(注意http和tcp流的不同)

å¨è¿éæå¥å¾çæè¿°

å¨è¿éæå¥å¾çæè¿°

 

 

备注:——————————————————————————————————————

1.过滤只显示两个主机之间的数据 ip.src == 172.28.104.232 and ip.dst == 61.151.234.53

 

过滤表达式的规则

表达式规则

1. 协议过滤

输入TCP,只显示TCP协议,,  udp, http, ip, ssl(https)

!http 或 not http  不显示http的请求

2. IP 过滤

ip.src ==192.168.1.102 显示源地址为(请求方)192.168.1.102

ip.dst==192.168.1.103, 目标地址为(服务端)192.168.1.103

ip.src == 192.168.10.32 and ip.dst == 192.168.10.10显示来源IP10.32和目标IP10.10的请求

ip.addr == 192.168.10.32显示源地址或目标地址为192.168.10.32

3. 端口过滤

tcp.port ==80,  把源端口和目的端口为80的都过滤出来

tcp.dstport==80 目的端口-服务端

tcp.srcport == 80,  只显示TCP协议的源端口为80的-客户端

 

4. Http模式过滤

http.requesthod=="GET",   只显示HTTP GET方法的。

5. 逻辑运算符为 AND/ OR

6.主机名过滤

http.host contains www.baidu.com 显示当前域名下的数据

http.requesthod == "GET" && http contains "www.baidu.com"  显示该域名下的get方法

7.过滤url

http.request.full_uri==” http://task.browser.360.cn/online/setpoint”显示该url的数据

8.响应过滤

http.response==1 显示所有的http响应包

 



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3